Data storage systems are arrangements of hardware and software that include one or more storage processors coupled to arrays of non-volatile storage devices, such as magnetic disk drives, electronic flash drives, and/or optical drives, for example. The storage processors service storage requests, arriving from host machines (“hosts”), which specify files or other data elements to be written, read, created, or deleted, for example. Software running on the storage processors manages incoming storage requests and performs various data processing tasks to organize and secure the data elements stored on the non-volatile storage devices.
Some data storage systems employ transaction logs for temporarily persisting changes in data of the data objects they serve. For example, a data storage system may receive a request from a host machine to perform a write operation on a data object served from the data storage system. In response to receiving the request, the data storage system stores the data specified in the request as a transaction in a transaction log. Once the transaction log has stored the transaction, the data storage system can acknowledge back to the host that the operation specified in the request has been completed. Subsequently, the data storage system can synchronize the data stored in the transaction log to the data object. The data storage system can then retire the transaction from the log, e.g., to make room for new transactions.